package myzzyl.domain.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import myzzyl.base.BaseEntity;

/**
 * 
 * @TableName device_data
 */
@TableName(value ="device_data")
@Data
public class DeviceData extends BaseEntity implements Serializable {
    /**
     * 告警规则ID，自增主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 备注名称
     */
    private String nickname;

    /**
     * 设备ID
     */
    private String iotId;

    /**
     * 所属产品的key
     */
    private String productKey;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 功能名称
     */
    private String functionId;

    /**
     * 接入位置
     */
    private String accessLocation;

    /**
     * 位置类型 0：随身设备 1：固定设备
     */
    private Integer locationType;

    /**
     * 物理位置类型 0楼层 1房间 2床位
     */
    private Integer physicalLocationType;

    /**
     * 位置备注
     */
    private String deviceDescription;

    /**
     * 数据值
     */
    private String dataValue;

    /**
     * 数据上报时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime alarmTime;

    @Serial
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}